//package com.yanfan.common.utils;
//
//import sun.misc.BASE64Decoder;
//
//import javax.crypto.Cipher;
//import javax.crypto.spec.IvParameterSpec;
//import javax.crypto.spec.SecretKeySpec;
//
///**
// * AES 加解密工具
// *
// * @author kk
// */
//public class AESUtil {
//
//    //以下两个密钥跟js端保持一致。
//    public static final String key = "abcdef0123456789";  //16位
//    public static final String iv = "0123456789abcdef";  //16位
//
//    /**
//     * AES加密
//     *
//     * @param data 输入任意字符串
//     * @return 返回根据key和iv进行加密的数据
//     */
//    public static String encryptAES(String data) {
//
//        try {
//
//            Cipher cipher = Cipher.getInstance("AES/CBC/NOPadding");   //参数分别代表 算法名称/加密模式/数据填充方式
//            int blockSize = cipher.getBlockSize();
//
//            byte[] dataBytes = data.getBytes();
//            int plaintextLength = dataBytes.length;
//            if (plaintextLength % blockSize != 0) {
//                plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize));
//            }
//
//            byte[] plaintext = new byte[plaintextLength];
//            System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length);
//
//            SecretKeySpec keyspace = new SecretKeySpec(key.getBytes(), "AES");
//            IvParameterSpec inspect = new IvParameterSpec(iv.getBytes());
//
//            cipher.init(Cipher.ENCRYPT_MODE, keyspace, inspect);
//            byte[] encrypted = cipher.doFinal(plaintext);
//
//            return new sun.misc.BASE64Encoder().encode(encrypted);
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            return null;
//        }
//    }
//
//    /**
//     * AES解密
//     *
//     * @param data 输入根据key和iv进行加密的数据
//     * @return 返回解密数据
//     */
//    public static String decryptAES(String data) {
//        try {
//            byte[] encrypted1 = new BASE64Decoder().decodeBuffer(data);
//
//            Cipher cipher = Cipher.getInstance("AES/CBC/NOPadding");
//            SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES");
//            IvParameterSpec ivspec = new IvParameterSpec(iv.getBytes());
//
//            cipher.init(Cipher.DECRYPT_MODE, keyspec, ivspec);
//
//            byte[] original = cipher.doFinal(encrypted1);
//            return new String(original).replaceAll("\\p{C}", "");
//        } catch (Exception e) {
//            return "";
//        }
//    }
//
//    public static void main(String[]arges){
//
//        System.out.println("AES加密："+AESUtil.encryptAES("djfg收到貴航股份,."));
//        System.out.println("AES解密："+AESUtil.decryptAES("SHx+upduQKWTqrPb742jzg=="));
//        System.out.println("MD5加密："+Md5Utils.md5("123456789"));
//        //System.out.println("MD5解密："+Md5Utils.bruteForceDecrypt("25f9e794323b453885f5181f1b624d0b"));
//    }
//}
